package main

import "fmt"

func main() {
	//make和new
	//相同点：都是为变量申请内存空间
	//不同点：
	//make返回普通类型，且专门用于三大引用类型，slice map channel
	//new返回指针类型，专门用于结构体的初始化
	//make声明和初始化切片
	var a = make([]int, 3, 10)
	a = append(a, 1)
	fmt.Printf("%T %v\n", a, a)
	var b = new([]int)
	*b = append(*b, 2)
	fmt.Printf("%T %v\n", b, b)

	//指针类型在赋值的时候，要找到值才能赋值，*d
	var c = 10
	var d = &c
	*d = 15
	fmt.Println(c, *d)
}
